goog.provide('dkpoints.urls');

goog.require('dkpoints.nav.AdminRaidHandler');
goog.require('dkpoints.nav.AuthHandler');
goog.require('dkpoints.nav.LabsHandler');
goog.require('dkpoints.nav.NYIHandler');
goog.require('dkpoints.nav.NotAuthorizedHandler');
goog.require('dkpoints.nav.NotFoundHandler');



/**
 * @fileoverview
 *
 * dkpoints.urls provides the routing for requests to their handlers.
 * URLs mapped to literal nulls suggest that the handler for this path will be,
 * but has not yet been, implemented.
 */


/**
 * @type {Object.<string, (function(new:dkpoints.nav.Handler,
 *    dkpoints.ServiceProvider)|null)>}
 */
dkpoints.urls = {
  '/auth': dkpoints.nav.AuthHandler,

  // Admin handlers.
  '/admin': null,
  '/admin/raid': dkpoints.nav.AdminRaidHandler,
  '/admin/raids': null,
  '/admin/characters': null,
  '/admin/adjustments': null,
  '/admin/tiers': null,

  // List and Detail pages
  '': null,
  '/': null,
  '/standings': null,
  '/raid': null,
  '/raids': null,
  '/raiders': null,
  '/raider': null,
  '/items': null,
  '/item': null,
  '/adjustments': null,
  '/logs': null,
  '/labs': dkpoints.nav.LabsHandler,

  // Error handlers
  ':404': dkpoints.nav.NotFoundHandler, // HTTP 404 Not Found
  ':403': dkpoints.nav.NotAuthorizedHandler, // HTTP 403 Forbidden
  ':501': dkpoints.nav.NYIHandler // HTTP 501 Not Implemented
};
